package com.content.scaffold.common.mybatis;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author luowenliang
 */
public interface SuperMapper<T> extends BaseMapper<T> {
    /**
     *  默认分页查询
     * @param page 分页信息
     * @param params 入参信息
     * @return page
     */
    IPage<T> pageList(Page<?> page, @Param("params") Map<String,Object> params);


    /**
     *  分页查询
     * @param pageEntity 分页查询
     * @param queryParams 请求参数
     * @return  <t extends BaseEntity> IPage<t>
     * @param <t> IPage 相关的实体对象
     */
    <t extends BaseEntity> IPage<t> selectPage(Page<?> pageEntity, List<QueryParam> queryParams);
}
